home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d21
/
apitools.arc
/
INTRO.DOC
< prev
next >
Wrap
Text File
|
1989-02-24
|
11KB
|
224 lines
Introducing DESQview 2.2 API Tools
Bringing new power to DOS.
For us, it's an unveiling of pleasure.
In the DESQview 2.2 view of the world there are three kinds of DOS
programs.
There's the DESQview-oblivious program, such as 1-2-3 or AutoCAD, written
with no consideration of DESQview, but still compatible with DESQview.
There's the DESQview-aware program. It has been modified slightly
so that it runs efficiently in DESQview and concurrently with other
programs. Paradox, dBASEIII, and WordPerfect are DESQview-aware.
Then there's the DESQview-specific program, like the DESQview Datebook.
It's written to take advantage of DESQview's power. We've kept the
knowledge of how to write DESQview-specific programs under wraps too
long. But if you look closely, you'll discover DESQview 2.2 behind
ICL North America's point of sale system, MCI International's communication
workstation, and Strawberry Software's market research program, A-Cross, to
name only a few.
For you, a cornucopia of treasure.
Hidden deep inside DESQview 2.2 is a powerful API (Application Program
Interface) that lets programs control and interact with DESQview and
with other programs running in DESQview. For MIS and DP departments
building workstation solutions, the DESQview 2.2 API provides enormous
benefits. For it brings OS/2 capabilities (and even OS/2 look and
feel if desired) to DOS.
Using the DESQview 2.2 API, a program can use all the DESQview 2.2
menu functions available to the user as well as the power-packed capabilities
built into DESQview--multitasking, windowing, intertask communications,
mailboxes, shared programs, memory management, mousing, data transfer,
menu-building, and help.
So DOS programs can now act alone or together. Either within a window
or hidden behind one, they can do chores in silence or in chorus,
all the while utilizing the full power of DESQview, all the while
bringing you treasures you only dreamed 'til now were possible.
The inner power of DESQview
A program taking advantage of the DESQview 2.2 API can display information
in windows and control the color, dimensions, position and ordering
of windows on the screen.
It can disable, limit or enhance the standard DESQview user interface.
Which means that you can have DESQview-like menus in your program.
Or menu bars and pull-down menus. Or IBM SAA-like menus.
It can let DESQview handle all keyboard and mouse input to menus and
forms--yet still process keyboard and mouse input directly when necessary.
It can schedule processing after a certain time interval or at a certain
time. It can spawn subtasks for performing background operations such
as printing, recalculating, and communicating. It can communicate
between the various tasks in the system.
Multitasking
DESQview supports true multitasking of existing DOS programs in addition
to programs written specifically for DESQview. So a user can run multiple
programs (Lotus 1-2-3, dBASE III and others) and DESQview-specific
programs (DESQview Datebook, Calculator, your own program) concurrently.
So a user can switch to whichever program needs input and switch
away while the program recalculates or sorts in background.
Under DESQview, each program runs in its own "virtual machine", thinking
it has exclusive access to DOS, the keyboard, etc. DESQview calls
these virtual machines "processes".
DESQview calls the portion of a process that keeps track of which
instruction to execute next and what the register contents are a
"task" (or "thread"). Every program running under DESQview consists,
initially, of a single process running a single task.
DESQview-specific programs may create additional tasks within their
own processes and additional processes. Additional tasks allow a portion
of your program, the part that controls the printer for example, to
be run in background. Additional processes allow whole new programs
to be loaded and run concurrently.
Presentation Management
Because DESQview lets you run more than one program at a time, DESQview
provides a way to view more than one program at a time on the screen. DESQview
does this by mapping each program into its own "window" and by managing
the display of multiple windows on the screen.
To DESQview, windows are rectangular areas of displayable information.
They may be moved, resized, colored, and reordered by either the user
or by your program. Everything that is displayed on the screen under
DESQview is displayed in a window.
Multiple windows are not only useful for displaying several programs
simultaneously, but may also be used within a single program to display
menus, help screens, error messages. DESQview provides facilities
for storing complete descriptions of such windows, (known by DESQview
as "panels"), on disk or in your program and displaying them with
a single call to the API. These panels may be as simple as one-line
error messages or as complex as data entry forms with multiple-choice
and data entry fields.
Once a panel has been displayed, your program can ask DESQview's "field
manager" to process all user input to the panel including mousing
and data entry editing. The field manager returns the results to your
program in a simple, field-oriented format, independent of the appearance
of the panel.
The use of panels and the field manager not only simplifies the job
of programming an application, but gives a consistency to the user
interface that makes the learning of new applications easier.
Intertask Communications
So that DESQview-specific programs can rapidly exchange information,
DESQview provides a wide range of intertask communications facilities.
These facilities allow several concurrently running tasks to exchange
information or signals, to lock access to common resources, to share
common code and data, and to interrupt each other to handle critical
events. These tasks can be in either the same or in different processes.
Intertask communication is the key to building complex applications
in a multitasking environment. Let's say, for example, you are building
a point of sale system, that handles a dozen cash registers for a
department store. Using DESQview you could break your application
up into fourteen tasks; one for each of the cash registers, one to
handle access to the pricing data- base, and one to track sales and
generate management reports. The cash register tasks would process
keystrokes from the clerk until an item price is needed. They would
then send a message to the database task requesting the price. The
database task would log the sale and return the price to the sender
of the request. Meanwhile, the store manager could interact with the
reporting task to monitor sales, clerk performance, etc.
Data Transfer
DESQview supports two types of user-initiated data transfer. The first
type, called Mark and Transfer, lets a user mark text in any window
and transfer that text to any other application. The application receiving
the data can be DESQview-oblivious, seeing the data as normal keyboard
input.
More sophisticated transfers are possible between DESQview-specific
applications that support the DESQview Scissors command. When the
user marks data in such an application, DESQview notifies the application
that data has been requested and lets the application determine exactly
what data to supply. The application may supply anything including
text, formulas, or even graphics images. When the user instructs DESQview
to Paste the data into another application, that application is also
notified so that the data can be handled appropriately.
The applications involved in a Scissors transfer can even use DESQview's
intertask communication facilities to setup a "hot-link" between themselves
so that subsequent changes to the data are automatically reflected
in both applications.
Memory Management
Programs running under DOS are typically given all of a PC's memory
to do with as they please. In a multitasking environment, memory must
be managed so that more than one program can be loaded at a time and
so that no single program is given more memory than it needs. DESQview
provides this management in a way that adapts to the type of memory
hardware available on your PC.
If your PC has 640K of conventional memory, DESQview is able to multitask
as many programs as will fit in memory at the same time. Additional
programs can be loaded but will cause the least recently used programs
to be suspended and swapped to disk to make room in memory for the
new ones.
If you have EMS 3.2 (Lotus-Intel-Microsoft Expanded Memory), DESQview
will swap programs to expanded memory instead of to disk. This is
so much faster than swapping to disk that the swap time is almost
not noticeable.
If you have EMS 4.0 or EEMS (AST-Quadram-Ashton Tate Enhanced Expanded
Memory) or a 386-based PC with an EMS 4.0 driver, DESQview can actually
multitask as many programs as will fit in conventional and expanded
memory. This can be as high as 32-Megabytes worth of programs. DESQview
can also run a large part of itself in expanded memory, giving a much
larger maximum program size.
Customization
Although DESQview is best known for its ability to run off-the-shelf
software concurrently, DESQview is an ideal platform for developing
customized vertical market applications and workstations. In addition
to providing multitasking and windowing services, DESQview can be
customized to provide the user interface appropriate to a particular
application.
This customization can take the form of restricting access to certain
DESQview menus, taking special action when certain menu items are
selected, or, in the extreme, disabling all access to DESQview menus
and providing the entire user interface as part of the application.
In this latter case, the only part of DESQview that the user sees
is a copyright screen during start-up.
Portability
DESQview with its entire API runs on 8088, 8086, 80286 and 80386 PCs
as well as the IBM Personal System/2s. This means that an application
that you write to be DESQview-specific can run on any PC from a laptop
dual-floppy PC to the very latest 386-based PC. It can even run over
a network on a diskless PC. Thus, the market for your DESQview-specific
application extends to the entire base of existing and future DOS PCs.